package com.hjh.java.jvm.ygc;

/*
配置JVM
 -XX:NewSize=5M
 -XX:MaxNewSize=5M
 -XX:InitialHeapSize=10M
 -XX:MaxHeapSize=10M
 -XX:SurvivorRatio=8
 -XX:PretenureSizeThreshold=10M
 -XX:+UseParNewGC
 -XX:+UseConcMarkSweepGC
 -XX:+PrintGCDetails
 -XX:+PrintGCTimeStamps
 -XX:+PrintGCDateStamps
 -XX:+PrintHeapAtGC
 -Xloggc:gc.log


-XX:+PrintGCDetails

-XX:+PrintGCTimeStamps ：打印每次GC的时间戳（现在距离启动的时间长度）

-XX:+PrintGCDateStamps ：打印GC日期

-XX:+PrintHeapAtGC：每次GC时，打印堆信息

-Xloggc:/usr/local/tomcat/logs/gc.$$.log ：GC日志存放的位置

 //新生代的Eden大小是5*0.8=4M,survivor0和survivor1各1M



 */

public class YoungGC1 {

    public static void main(String[] args) {
        System.out.println("=======>>start");
        byte[] array1 = new byte[1024 * 1024];//在新生代Eden内存区创建一个数据对象，对象大小1M
        array1 = new byte[1024 * 1024];//在新生代Eden内存区创建一个数据对象，对象大小1M
        array1 = new byte[1024 * 1024];//在新生代Eden内存区创建一个数据对象，对象大小1M
        array1 = null;

        byte[] array2 = new byte[2*1024 * 1024];////在新生代Eden内存区创建一个数据对象，对象大小2M
        //Eden总共生成了5M对象，超出了最大值4M，所以触发Young GC

        System.out.println("=======>>finish");

    }
}
